home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PRUS101.ZIP / FCHARS.DOK < prev    next >
Text File  |  1994-12-19  |  33KB  |  733 lines

  1.                  /////////////////////\\\\\\\\\\\\\\\\\\\\\\\
  2.                        Dokumentation zur FIDO Unit FCHARS
  3.                  \\\\\\\\\\\\\\\\\\\\\///////////////////////
  4.  
  5.                                RELEASE 1.00
  6.                                ^^^^^^^^^^^^
  7.  
  8.   =========================================================================
  9.   Autor: Sieghard Schicktanz, 2:2480/642.25 @ FidoNet,  Muenchen, 02.08.1994
  10.   =========================================================================
  11.  
  12.      1. String Funktionen wie in Borland Pascal 7.0 fuer fruehere Versionen
  13.      --------------------------------------------------------------------
  14.  
  15.         Die Unit FCHARS stellt Routinen zur Verfuegung,  die mit den in
  16.         C ueblichen NUL-terminierten Strings arbeiten koennen  und mit den
  17.         von Borland in der Version 7.0 implementierten Unit STRINGS kom-
  18.         patibel sind.
  19.  
  20.         Von Borlands STRINGS fehlen derzeit noch:
  21.            StrIComp; StrLIComp.
  22.  
  23.         Dies ist eine Low Level Unit.  Sie benoetigt keinerlei Routinen
  24.         anderer  Units,  mit  Ausnahme  der in Turbo Pascals (6.0 oder
  25.         hoeher) Unit-Library TURBO.TPL enhaltenen Standard-Units.
  26.  
  27.  
  28.         **************************************************************
  29.  
  30.  
  31.      2. Kurzbeschreibung:
  32.      --------------------
  33.  
  34.         Die hier vorgestellten Routinen soweit namens- und  funktions-
  35.         gleich mit denen der BP Standard-Unit STRINGS werden nur in der
  36.         Kurzbeschreibung genannt. Naehere Informationen sind dem  Hand-
  37.         buch oder der Online-Hilfe zu entnehmen.
  38.  
  39.         null_string .......... Liefert einen PChar, der auf einen immer
  40.                                leeren String zeigt.
  41.         Str2PChar ............ Konvertiert  einen   String  analog   zu
  42.                                StrPCopy   in   einen   NUL-terminierten
  43.                                String.   Anders  als  das  BP7-konforme
  44.                                StrPCopy  erwartet diese Routine  jedoch
  45.                                ein Argument weniger.
  46.         StrCat ............... Wie Standard-Funktion.       Kopiert den
  47.                                source-String ans Ende des dest-Strings,
  48.                                gibt Zeiger  auf Anfang  von  neuem dest
  49.                                zurueck.  dest  muss  genuegend  lang sein,
  50.                                um   dest+source  aufnehmen  zu  koennen,
  51.                                sonst knirschts!
  52.         StrComp .............. Wie Standard-Funktion.    Vergleicht die
  53.                                Strings  dest und source  und  gibt  bei
  54.                                Gleichheit 0  zurueck,  bei  Ungleichheit
  55.                                -1,  wenn  dest < source  bzw. +1,  wenn
  56.                                dest > source (lexikalisch).
  57.         StrCopy .............. Wie Standard-Funktion.       Kopiert den
  58.                                source-String  in den dest-String,  gibt
  59.                                Zeiger auf Anfang von neuem dest zurueck.
  60.                                dest muss  genuegend lang sein, um source
  61.                                aufnehmen zu koennen, sonst knirschts!
  62.         StrDispose ........... Wie  Standard-Funktion.  Vernichtet  den
  63.                                source-String,  der von  StrNew  erzeugt
  64.                                worden sein muss.
  65.         StrECopy ............. Wie Standard-Funktion.       Kopiert den
  66.                                source-String  in den dest-String,  gibt
  67.                                Zeiger  auf Ende  von neuem dest zurueck.
  68.                                dest muss genuegend lang sein,  um source
  69.                                aufnehmen zu koennen, sonst knirschts!
  70.         StrEnd ............... Wie Standard-Funktion.    Liefert Zeiger
  71.                                auf Ende des source-Strings.
  72.         StrLCat .............. Wie Standard-Funktion.       Kopiert den
  73.                                source-String ans Ende des dest-Strings,
  74.                                jedoch  hoechstens  maxlen Zeichen,  gibt
  75.                                Zeiger auf Anfang von neuem dest zurueck.
  76.                                dest   muss   genuegend   lang  sein,  um
  77.                                len(dest)+maxlen  Zeichen  aufnehmen  zu
  78.                                koennen, sonst knirschts!
  79.         StrLComp ............. Wie Standard-Funktion.  Vergleicht maxi-
  80.                                mal   die  ersten  maxlen  Zeichen   der
  81.                                Strings  dest  und  source  und gibt bei
  82.                                Gleichheit 0  zurueck,  bei  Ungleichheit
  83.                                -1,  wenn  dest < source  bzw. +1,  wenn
  84.                                dest > source (lexikalisch).
  85.         StrLCopy ............. Wie Standard-Funktion.       Kopiert den
  86.                                source-String in den dest-String, jedoch
  87.                                hoechstens  maxlen  Zeichen,  gibt Zeiger
  88.                                auf Anfang von neuem dest zurueck.   dest
  89.                                muss   genuegend  lang  sein,  um  maxlen
  90.                                Zeichen   aufnehmen  zu  koennen,   sonst
  91.                                knirschts!
  92.         StrLen ............... Wie Standard-Funktion. Liefert die Laenge
  93.                                des source-Strings.
  94.         StrLower ............. Wie Standard-Funktion.  Konvertiert alle
  95.                                Zeichen im source-String in Kleinbuchsta-
  96.                                ben.
  97.         StrMove .............. Wie Standard-Funktion.     Wie StrLCopy,
  98.                                aber  der verschobene String  darf  sein
  99.                                Ziel ueberlappen.
  100.         StrNew ............... Wie  Standard-Funktion.  Dupliziert  den
  101.                                source-String,  erstellt eine neue Kopie
  102.                                auf  dem  Heap  und  gibt  einen  Zeiger
  103.                                darauf zurueck.
  104.         StrNSkip ............. Hilfsfunktion,  evtl.  auch  anderweitig
  105.                                nuetzlich.   Stellt   den  Eingangszeiger
  106.                                um  positions Zeichen  im  source-String
  107.                                weiter,  d.h. ueberspringt positions Zei-
  108.                                chen davon.
  109.         StrPas ............... Konvertiert    einen    NUL-terminierten
  110.                                String   in   Turbo-Pascal-Format.   Der
  111.                                source-String  darf  maximal 255 Zeichen
  112.                                enthalten, sonst wird er abgeschnitten!
  113.         StrPCopy ............. Konvertiert  einen   Turbo-Pascal-String
  114.                                in C-Format.  Erstellt  eine  neue Kopie
  115.                                auf  dem  Heap  und  gibt  einen  Zeiger
  116.                                darauf zurueck.
  117.         StrPos ............... Wie Standard-Funktion.  Sucht den String
  118.                                substr  in teststr,  wenn gefunden, wird
  119.                                ein Zeiger  auf die Position  von substr
  120.                                in teststr zurueckgegeben, sonst NIL.
  121.         StrRScan ............. Wie Standard-Funktion. Sucht den source-
  122.                                String  nach  dem letzten Vorkommen  des
  123.                                Zeichens ch ab;  wenn gefunden, wird ein
  124.                                Zeiger darauf zurueckgeben, sonst NIL.
  125.         StrScan .............. Wie Standard-Funktion. Sucht den source-
  126.                                String  nach  dem letzten Vorkommen  des
  127.                                Zeichens ch ab;  wenn gefunden, wird ein
  128.                                Zeiger darauf zurueckgeben, sonst NIL.
  129.         StrSkip .............. Hilfsfunktion,  evtl.  auch  anderweitig
  130.                                nuetzlich.   Stellt   den  Eingangszeiger
  131.                                hinter das Ende  (auf das abschliessende
  132.                                NUL) des source-Strings.
  133.         StrUpper ............. Wie Standard-Funktion.  Konvertiert alle
  134.                                Zeichen im source-String in Grossbuchsta-
  135.                                ben.
  136.  
  137.  
  138.  
  139.      3. Detaillierte Beschreibung:
  140.      -----------------------------
  141.  
  142.         ===============================================================
  143.         null_string
  144.         ---------------------------------------------------------------
  145.         ERSTAUTOR    ... Sieghard Schicktanz
  146.  
  147.         ERSTDATUM    ... 02.10.1994     LETZTE AeNDERUNG ...  --.--.----
  148.  
  149.         MODIFIKATION ...
  150.         ---------------------------------------------------------------
  151.  
  152.         BESCHREIBUNG ...  Liefert einen PChar, der auf einen immer
  153.                           leeren String zeigt.
  154.  
  155.         DEKLARATION  ...  null_string: PChar;
  156.  
  157.         PARAMETER    ...  keine
  158.  
  159.         ERGEBNIS     ...  Zeiger auf leeren String (d.i. Zeichen #0)
  160.  
  161.         }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-<
  162.  
  163.         ===============================================================
  164.         Str2PChar
  165.         ---------------------------------------------------------------
  166.         ERSTAUTOR    ... Sieghard Schicktanz
  167.  
  168.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  169.  
  170.         MODIFIKATION ...
  171.         ---------------------------------------------------------------
  172.  
  173.         BESCHREIBUNG ...  Konvertiert  einen   String  analog   zu
  174.                           StrPCopy in einen NUL-terminierten String.
  175.                           Anders  als das BP7-konforme StrPCopy er-
  176.                           wartet diese Routine jedoch ein Argument
  177.                           weniger.
  178.  
  179.                           Dafuer wird der (als VALUE-Parameter!) ueber-
  180.                           gebene String direkt als Funktionsergebnis
  181.                           benutzt, und bei als CONST deklarierten
  182.                           Strings wird die auf diesen folgende
  183.                           Speicherstelle ueberschrieben.
  184.                           Fuer Leerstrings wird ein Zeiger auf das
  185.                           undefinierte Byte hinter dem Laengenbyte
  186.                           des Pascal-Source-Strings zurueckgeliefert.
  187.  
  188.         DEKLARATION  ...  Str2PChar (source: string): PChar;
  189.  
  190.         PARAMETER    ...  source - zu konvertierender Pascal-String
  191.  
  192.         ERGEBNIS     ...  Zeiger auf erstes Stringzeichen des
  193.                           Parameterstrings,
  194.                           Byte hinter letzten String-Zeichen
  195.                           mit #0 ueberschrieben.
  196.  
  197.         }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-< }:-<
  198.  
  199.         ===============================================================
  200.         Str2PChar
  201.         ---------------------------------------------------------------
  202.         ERSTAUTOR    ... Sieghard Schicktanz
  203.  
  204.         ERSTDATUM    ... 13.08.1994     LETZTE AeNDERUNG ...  --.--.----
  205.  
  206.         MODIFIKATION ...
  207.         ---------------------------------------------------------------
  208.  
  209.         BESCHREIBUNG ...  Konvertiert  einen   String  analog   zu
  210.                           StrPCopy in einen NUL-terminierten String.
  211.                           Anders  als das BP7-konforme StrPCopy er-
  212.                           wartet diese Routine jedoch ein Argument
  213.                           weniger.
  214.  
  215.                           Dafuer wird der (als VALUE-Parameter!) ueber-
  216.                           gebene String direkt als Funktionsergebnis
  217.                           benutzt, die Konvertierung erfolgt "in place".
  218.                           Die Konvertierung ist sicher, es wird kein
  219.                           zusaetzlicher Speicherplatz benoetigt!
  220.                           Der uebergebene Source-String wird aber trotz
  221.                           Value-Uebergabe zerstoert! (Turbo-Pascal-Eigenheit)
  222.  
  223.         DEKLARATION  ...  Str2PChar (source: string): PChar;
  224.  
  225.         PARAMETER    ...  source - zu konvertierender Pascal-String
  226.                                   !!!!! VORSICHT !!!!!
  227.                           Der uebergebene Source-String wird trotz Value-
  228.                           Uebergabe zerstoert! (Turbo-Pascal-Eigenheit)
  229.  
  230.         ERGEBNIS     ...  Zeiger auf Anfang des konvertierten
  231.                           Parameterstrings
  232.  
  233.         ===============================================================
  234.         StrCat
  235.         ---------------------------------------------------------------
  236.         ERSTAUTOR    ... Sieghard Schicktanz
  237.  
  238.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  239.  
  240.         MODIFIKATION ...
  241.         ---------------------------------------------------------------
  242.  
  243.         BESCHREIBUNG ...  Kopiert den source-String ans Ende des
  244.                           dest-Strings, gibt Zeiger auf Anfang von
  245.                           dest zurueck.  dest muss mindestens
  246.                           StrLen (dest)+ StrLen (source)+ 1 Zeichen
  247.                           lang sein!
  248.  
  249.         DEKLARATION  ...  StrCat (dest, source: PChar): PChar;
  250.  
  251.         PARAMETER    ...  dest   - Zeiger auf ersten String
  252.                           source - Zeiger auf anzuhaengenden String
  253.  
  254.         ERGEBNIS     ...  Zeiger auf Ergebnis-String
  255.  
  256.         ===============================================================
  257.         StrComp
  258.         ---------------------------------------------------------------
  259.         ERSTAUTOR    ... Sieghard Schicktanz
  260.  
  261.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  262.  
  263.         MODIFIKATION ...
  264.         ---------------------------------------------------------------
  265.  
  266.         BESCHREIBUNG ...  Vergleicht die Strings dest und source und
  267.                           gibt folgende Werte zurueck:
  268.                           0,  wenn  dest = source,
  269.                           -1, wenn  dest < source,
  270.                           +1, wenn  dest > source (lexikalisch).
  271.  
  272.         DEKLARATION  ...  StrComp (dest, source: PChar): integer;
  273.  
  274.         PARAMETER    ...  dest   - Zeiger auf ersten  Vergleichs-String
  275.                           source - Zeiger auf zweiten Vergleichs-String
  276.  
  277.         ERGEBNIS     ...  Vergleichsergebnis, s.o.
  278.  
  279.         ===============================================================
  280.         StrCopy
  281.         ---------------------------------------------------------------
  282.         ERSTAUTOR    ... Sieghard Schicktanz
  283.  
  284.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  285.  
  286.         MODIFIKATION ...
  287.         ---------------------------------------------------------------
  288.  
  289.         BESCHREIBUNG ...  Kopiert den source-String in den dest-String,
  290.                           gibt Zeiger auf Anfang von dest zurueck.
  291.                           dest muss genuegend lang sein, um source incl.
  292.                           abschliessendes NUL-Zeichen aufnehmen zu koennen!
  293.  
  294.         DEKLARATION  ...  StrCopy (dest, source: PChar): PChar;
  295.  
  296.         PARAMETER    ...  dest   - Zeiger auf Ergebnis-String
  297.                           source - Zeiger auf zu kopierenden String
  298.  
  299.         ERGEBNIS     ...  Zeiger auf Anfang des Ergebnis-Strings
  300.  
  301.         ===============================================================
  302.         StrDispose
  303.         ---------------------------------------------------------------
  304.         ERSTAUTOR    ... Sieghard Schicktanz
  305.  
  306.         ERSTDATUM    ... 18.09.1994     LETZTE AeNDERUNG ...  --.--.----
  307.  
  308.         MODIFIKATION ...
  309.         ---------------------------------------------------------------
  310.  
  311.         BESCHREIBUNG ...  Vernichtet den source-String, der von StrNew
  312.                           auf dem Heap erzeugt worden sein muss.
  313.                           Wenn NIL uebergeben wird, erfolgt keine Aktion.
  314.  
  315.         DEKLARATION  ...  StrDispose (source: PChar);
  316.  
  317.         PARAMETER    ...  source - Zeiger auf zu kopierenden String
  318.  
  319.         ERGEBNIS     ...  Uebergebener String vernichtet, Speicher wieder
  320.                           verfuegbar
  321.  
  322.         ===============================================================
  323.         StrECopy
  324.         ---------------------------------------------------------------
  325.         ERSTAUTOR    ... Sieghard Schicktanz
  326.  
  327.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  328.  
  329.         MODIFIKATION ...
  330.         ---------------------------------------------------------------
  331.  
  332.         BESCHREIBUNG ...  Kopiert den source-String in den dest-String,
  333.                           gibt Zeiger auf Ende von dest zurueck.
  334.                           dest muss genuegend lang sein, um source incl.
  335.                           abschliessendes NUL-Zeichen aufnehmen zu koennen!
  336.  
  337.         DEKLARATION  ...  StrECopy (dest, source: PChar): PChar;
  338.  
  339.         PARAMETER    ...  dest   - Zeiger auf Ergebnis-String
  340.                           source - Zeiger auf zu kopierenden String
  341.  
  342.         ERGEBNIS     ...  Zeiger auf Ende des Ergebnis-Strings
  343.  
  344.         ===============================================================
  345.         StrEnd
  346.         ---------------------------------------------------------------
  347.         ERSTAUTOR    ... Sieghard Schicktanz
  348.  
  349.         ERSTDATUM    ... 18.09.1994     LETZTE AeNDERUNG ...  --.--.----
  350.  
  351.         MODIFIKATION ...
  352.         ---------------------------------------------------------------
  353.  
  354.         BESCHREIBUNG ...  Liefert Zeiger auf Ende des source-Strings.
  355.  
  356.         DEKLARATION  ...  StrEnd (source: PChar): PChar;
  357.  
  358.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  359.  
  360.         ERGEBNIS     ...  Zeiger auf abschliessendes NUL-Zeichen
  361.                           des uebergebene Strings
  362.  
  363.         ===============================================================
  364.         StrLCat
  365.         ---------------------------------------------------------------
  366.         ERSTAUTOR    ... Sieghard Schicktanz
  367.  
  368.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  369.  
  370.         MODIFIKATION ...
  371.         ---------------------------------------------------------------
  372.  
  373.         BESCHREIBUNG ...  Kopiert den source-String ans Ende des
  374.                           dest-Strings, jedoch hoechstens n Zeichen,
  375.                           gibt Zeiger auf Anfang von dest zurueck.
  376.                           dest muss mindestens StrLen (dest)+ n+ 1 Zeichen
  377.                           lang sein!
  378.  
  379.         DEKLARATION  ...  StrLCat (dest, source: PChar; maxlen: byte): PChar;
  380.  
  381.         PARAMETER    ...  dest   - Zeiger auf ersten String
  382.                           source - Zeiger auf anzuhaengenden String
  383.                           n      - Anzahl zu kopierender Zeichen
  384.  
  385.         ERGEBNIS     ...  Zeiger auf Ergebnis-String
  386.  
  387.         ===============================================================
  388.         StrLComp
  389.         ---------------------------------------------------------------
  390.         ERSTAUTOR    ... Sieghard Schicktanz
  391.  
  392.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  393.  
  394.         MODIFIKATION ...
  395.         ---------------------------------------------------------------
  396.  
  397.         BESCHREIBUNG ...  Vergleicht maximal die ersten n Zeichen der
  398.                           Strings dest und source und gibt folgende
  399.                           Werte zurueck:
  400.                           0,  wenn  dest = source,
  401.                           -1, wenn  dest < source,
  402.                           +1, wenn  dest > source (lexikalisch).
  403.  
  404.         DEKLARATION  ...  StrLComp (dest, source: PChar; n: byte): integer;
  405.  
  406.         PARAMETER    ...  dest   - Zeiger auf ersten  Vergleichs-String
  407.                           source - Zeiger auf zweiten Vergleichs-String
  408.                           n      - Anzahl zu vergleichender Zeichen
  409.  
  410.         ERGEBNIS     ...  Vergleichsergebnis, s.o.
  411.  
  412.         ===============================================================
  413.         StrLCopy
  414.         ---------------------------------------------------------------
  415.         ERSTAUTOR    ... Sieghard Schicktanz
  416.  
  417.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  418.  
  419.         MODIFIKATION ...
  420.         ---------------------------------------------------------------
  421.  
  422.         BESCHREIBUNG ...  Kopiert den source-String in den dest-String,
  423.                           jedoch hoechstens n Zeichen, gibt Zeiger
  424.                           auf Anfang von dest zurueck.
  425.                           dest muss mindestens maxlen+1 Zeichen lang sein!
  426.  
  427.         DEKLARATION  ...  StrLCopy (dest, source: PChar; n: byte): PChar;
  428.  
  429.         PARAMETER    ...  dest   - Zeiger auf Ergebnis-String
  430.                           source - Zeiger auf zu kopierenden String
  431.                           n      - Anzahl zu kopierender Zeichen
  432.  
  433.         ERGEBNIS     ...  Zeiger auf Anfang des Ergebnis-Strings
  434.  
  435.         ===============================================================
  436.         StrLen
  437.         ---------------------------------------------------------------
  438.         ERSTAUTOR    ... Sieghard Schicktanz
  439.  
  440.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  441.  
  442.         MODIFIKATION ...
  443.         ---------------------------------------------------------------
  444.  
  445.         BESCHREIBUNG ...  Liefert die Zeichenanzahl des source-Strings.
  446.  
  447.         DEKLARATION  ...  StrLen (source: PChar): word;
  448.  
  449.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  450.  
  451.         ERGEBNIS     ...  Zeichenanzahl (Laenge) des Strings source,
  452.                           _ohne_ abschliessendes NUL-Zeichen
  453.  
  454.         ===============================================================
  455.         StrLower
  456.         ---------------------------------------------------------------
  457.         ERSTAUTOR    ... Sieghard Schicktanz
  458.  
  459.         ERSTDATUM    ... 18.09.1994     LETZTE AeNDERUNG ...  --.--.----
  460.  
  461.         MODIFIKATION ...
  462.         ---------------------------------------------------------------
  463.  
  464.         BESCHREIBUNG ...  Konvertiert alle Zeichen im source-String
  465.                           Kleinbuchstaben
  466.  
  467.         DEKLARATION  ...  StrLower (source: PChar): PChar;
  468.  
  469.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  470.  
  471.         ERGEBNIS     ...  Zeiger auf source
  472.  
  473.         ===============================================================
  474.         StrMove
  475.         ---------------------------------------------------------------
  476.         ERSTAUTOR    ... Sieghard Schicktanz
  477.  
  478.         ERSTDATUM    ... 18.09.1994     LETZTE AeNDERUNG ...  --.--.----
  479.  
  480.         MODIFIKATION ...
  481.         ---------------------------------------------------------------
  482.  
  483.         BESCHREIBUNG ...  Kopiert den source-String in den dest-String,
  484.                           jedoch hoechstens n Zeichen, gibt Zeiger
  485.                           auf Anfang von dest zurueck.
  486.                           Der source- und dest-String duerfen ueberlappen.
  487.                           dest muss mindestens maxlen+1 Zeichen lang sein!
  488.  
  489.         DEKLARATION  ...  StrMove (dest, source: PChar; n: byte): PChar;
  490.  
  491.         PARAMETER    ...  dest   - Zeiger auf Ergebnis-String
  492.                           source - Zeiger auf zu kopierenden String
  493.                           n      - Anzahl zu kopierender Zeichen
  494.  
  495.         ERGEBNIS     ...  Zeiger auf Anfang des Ergebnis-Strings
  496.  
  497.         ===============================================================
  498.         StrNew
  499.         ---------------------------------------------------------------
  500.         ERSTAUTOR    ... Sieghard Schicktanz
  501.  
  502.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  503.  
  504.         MODIFIKATION ...
  505.         ---------------------------------------------------------------
  506.  
  507.         BESCHREIBUNG ...  Dupliziert den source-String, erstellt eine
  508.                           neue Kopie auf dem Heap und gibt einen Zeiger
  509.                           darauf zurueck.
  510.  
  511.         DEKLARATION  ...  StrNew (source: PChar): PChar;
  512.  
  513.         PARAMETER    ...  source - Zeiger auf zu kopierenden String
  514.  
  515.         ERGEBNIS     ...  Zeiger auf Ergebnis-String
  516.  
  517.         ===============================================================
  518.         StrNSkip
  519.         ---------------------------------------------------------------
  520.         ERSTAUTOR    ... Sieghard Schicktanz
  521.  
  522.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  523.  
  524.         MODIFIKATION ...
  525.         ---------------------------------------------------------------
  526.  
  527.         BESCHREIBUNG ...  Hilfsfunktion,  evtl.  auch  anderweitig
  528.                           nuetzlich.   Stellt   den  Eingangszeiger
  529.                           um  positions Zeichen  im  source-String
  530.                           weiter,  d.h. ueberspringt positions Zei-
  531.                           chen davon.
  532.  
  533.         DEKLARATION  ...  StrNSkip (source: PChar; n: integer): PChar;
  534.  
  535.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  536.                           n      - Anzahl zu ueberspringender Zeichen
  537.  
  538.         ERGEBNIS     ...  Zeiger auf Reststring _hinter_ dem n. Zeichen
  539.                           von source
  540.  
  541.         ===============================================================
  542.         StrPas
  543.         ---------------------------------------------------------------
  544.         ERSTAUTOR    ... Sieghard Schicktanz
  545.  
  546.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  18. 9.1994
  547.  
  548.         MODIFIKATION ...  korrekte Behandlung von NIL
  549.         ---------------------------------------------------------------
  550.  
  551.         BESCHREIBUNG ...  Konvertiert einen NUL-terminierten String
  552.                           in Turbo-Pascal-Format. Der source-String
  553.                           darf maximal 255 Zeichen enthalten, sonst
  554.                           wird er abgeschnitten!
  555.  
  556.         DEKLARATION  ...  StrPas (source: PChar): string;
  557.  
  558.         PARAMETER    ...  source - Zeiger auf zu konvertierenden
  559.                                    NUL-terminierten String
  560.  
  561.         ERGEBNIS     ...  transienter Pascal-String,
  562.                           muss sofort weiterverarbeitet werden!
  563.  
  564.         ===============================================================
  565.         StrPCopy
  566.         ---------------------------------------------------------------
  567.         ERSTAUTOR    ... Sieghard Schicktanz
  568.  
  569.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  570.  
  571.         MODIFIKATION ...
  572.         ---------------------------------------------------------------
  573.  
  574.         BESCHREIBUNG ...  Konvertiert  einen   Turbo-Pascal-String
  575.                           in C-Format (NUL-terminiert). Es wird eine
  576.                           Kopie des Pascal-Strings im NUL-terminierten
  577.                           C-Format auf dem Heap angelegt und ein Pointer
  578.                           auf diese zurueckgegeben
  579.  
  580.         DEKLARATION  ...  StrPCopy (dest: PChar; source: string): PChar;
  581.  
  582.         PARAMETER    ...  dest   - Zeiger auf NUL-terminierten String
  583.                                    fuer Ergebnis
  584.                           source - zu konvertierender Pascal-String
  585.  
  586.         ERGEBNIS     ...  Zeiger auf Ergebnis-String
  587.  
  588.         ===============================================================
  589.         StrPos
  590.         ---------------------------------------------------------------
  591.         ERSTAUTOR    ... Sieghard Schicktanz
  592.  
  593.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  13.09.1994
  594.  
  595.         MODIFIKATION ... Korrektur einer falschen Umsetzung
  596.         ---------------------------------------------------------------
  597.  
  598.         BESCHREIBUNG ...  Sucht den String substr in teststr, wenn
  599.                           gefunden, wird ein Zeiger auf die Position
  600.                           von substr in teststr zurueckgegeben, sonst NIL.
  601.  
  602.         DEKLARATION  ...  StrPos (teststr, substr: PChar): PChar;
  603.  
  604.         PARAMETER    ...  teststr - Zeiger auf abgesuchten String
  605.                           substr -  Zeiger auf gesuchten Teil-String
  606.  
  607.         ERGEBNIS     ...  Zeiger auf Anfang des gefundenen Teil-Strings
  608.                           oder NIL
  609.  
  610.         ===============================================================
  611.         StrRScan
  612.         ---------------------------------------------------------------
  613.         ERSTAUTOR    ... Sieghard Schicktanz
  614.  
  615.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  616.  
  617.         MODIFIKATION ...
  618.         ---------------------------------------------------------------
  619.  
  620.         BESCHREIBUNG ...  Sucht den source-String nach dem _letzten_
  621.                           Vorkommen des Zeichens ch (also von hinten her)
  622.                           ab; wenn gefunden, wird ein Zeiger darauf
  623.                           (entsprechend dem Rest-String) zurueckgeben,
  624.                           sonst NIL.
  625.  
  626.         DEKLARATION  ...  StrScan (source: PChar; ch: char): PChar;
  627.  
  628.         PARAMETER    ...  source - Zeiger auf abzusuchenden String
  629.                           ch -     zu suchendes Zeichen
  630.  
  631.         ERGEBNIS     ...  Zeiger auf gefundenes Zeichen oder NIL
  632.  
  633.         ===============================================================
  634.         StrScan
  635.         ---------------------------------------------------------------
  636.         ERSTAUTOR    ... Sieghard Schicktanz
  637.  
  638.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  639.  
  640.         MODIFIKATION ...
  641.         ---------------------------------------------------------------
  642.  
  643.         BESCHREIBUNG ...  Sucht den source-String nach dem ersten
  644.                           Vorkommen des Zeichens ch ab; wenn gefunden,
  645.                           wird ein Zeiger darauf (entsprechend dem
  646.                           Rest-String) zurueckgeben, sonst NIL.
  647.  
  648.         DEKLARATION  ...  StrScan (source: PChar; ch: char): PChar;
  649.  
  650.         PARAMETER    ...  source - Zeiger auf abzusuchenden String
  651.                           ch -     zu suchendes Zeichen
  652.  
  653.         ERGEBNIS     ...  Zeiger auf gefundenes Zeichen oder NIL
  654.  
  655.         ===============================================================
  656.         StrSkip
  657.         ---------------------------------------------------------------
  658.         ERSTAUTOR    ... Sieghard Schicktanz
  659.  
  660.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  661.  
  662.         MODIFIKATION ...
  663.         ---------------------------------------------------------------
  664.  
  665.         BESCHREIBUNG ...  Hilfsfunktion,  evtl.  auch  anderweitig
  666.                           nuetzlich.   Stellt   den  Eingangszeiger
  667.                           hinter  das Ende  (auf das abschliessende
  668.                           NUL) des source-Strings.
  669.  
  670.         DEKLARATION  ...  StrSkip (source: PChar): PChar;
  671.  
  672.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  673.  
  674.         ERGEBNIS     ...  Zeiger _hinter_ das Ende des NUL-terminierten
  675.                           Strings
  676.                           (normalerweise an undefinierte Speicherstelle!)
  677.  
  678.         ===============================================================
  679.         StrUpper
  680.         ---------------------------------------------------------------
  681.         ERSTAUTOR    ... Sieghard Schicktanz
  682.  
  683.         ERSTDATUM    ... 02.08.1994     LETZTE AeNDERUNG ...  --.--.----
  684.  
  685.         MODIFIKATION ...
  686.         ---------------------------------------------------------------
  687.  
  688.         BESCHREIBUNG ...  Konvertiert alle Zeichen im source-String
  689.                           Grossbuchstaben
  690.  
  691.         DEKLARATION  ...  StrUpper (source: PChar): PChar;
  692.  
  693.         PARAMETER    ...  source - Zeiger auf NUL-terminierten String
  694.  
  695.         ERGEBNIS     ...  Zeiger auf source
  696.  
  697.  
  698.      4. Beispiele:
  699.      -------------
  700.  
  701.         ===============================================================
  702.  
  703.         ---------------------------------------------------------------
  704.  
  705.  
  706.       5. History:
  707.       -----------
  708.         Neuerungen nach Release ...
  709.         ---------------------------
  710.  
  711.         - S. Schicktanz 18.09.94
  712.           Funktionen alphabetisch geordnet.
  713.  
  714.         - S. Schicktanz 18.09.94
  715.           Fehlende Funktionen teilweise nachgetragen:
  716.           StrDispose, StrEnd, StrLower, StrMove, StrRScan.
  717.  
  718.         - S. Schicktanz 02.10.94
  719.           Initialisierte Variable null_string durch FUNCTION
  720.           ersetzt, um faelschliche Modifikationen zu verhindern
  721.           (damit entfaellt die Initialisierung mit InitFCHARS).
  722.           Deklaration des Pseudo-Typs chArray geaendert, um
  723.           indizierte Zugriff auf Zeichenpositionen > 0 zu
  724.           erlauben.
  725.  
  726.  
  727.   =========================================================================
  728.  
  729.                  /////////////////////\\\\\\\\\\\\\\\\\\\\\\\\
  730.                   Ende der Dokumentation zur FIDO Unit FCHARS
  731.                  \\\\\\\\\\\\\\\\\\\\\////////////////////////
  732.  
  733.